fn closure<T, F>(f: F) -> F
where
    for<'a> F: Fn(&'a T) -> &'a T,
{
    f
}

#[test]
fn it_works() {
    let f = closure(|x: &i32| x);
    let i = &3;
    let j = f(i);
}
